/**
 * Description:该类主要用于创建一个标签 Copyright: 成都和为科技有限公司 2012
 * 
 * 属性：
 *    text - 标签文字
 *    mark - 必填标记
 *    html - 是否显示html数据, 默认为false
 *    showtitle - 是否移入显示全部文字,默认为true
 */
function Label() {
}

Label.inherit(Control);

/**
 * 初始化方法
 */
Label.prototype.init = function() {
	Label.base.init.call(this);
}

/**
 * 创建HTML节点
 */
Label.prototype.create = function() {
	this._html = document.createElement("span");
    $(this._html).addClass("control-label");
}


Label.prototype.initLoad = function() {
    if (this._attr.text) {
        this.setValue(this._attr.text);
    }
    if (this._attr.mark) {
        $(this._html).prepend("<span style='color:red;font-size:20px;'>*</span>");
    }
}

/**
 * 获取当前控件的值。需要提交到数据库
 */
Label.prototype.getValue = function() {
	return $(this._html).text();
}

/**
 * 设置当前控件的值。
 */
Label.prototype.setValue = function(value) {
	var value = value == null ? "":value;
    if (this.getAttribute().html == "true") {
        this.setHtml(value);
    } else {
        $(this._html).text(value);
        var showTitle = true;
        if (this.getAttribute().showtitle &&
            this.getAttribute().showtitle == "false") {
            showTitle = false;
        }
        if (value != "" && showTitle) {
            $(this.getHTML()).attr("title", value);
        }
        $(this.getHTML()).css({
            "text-overflow":"ellipsis",
            "-o-text-overflow":"ellipsis",
            "overflow":"hidden"
        });
    }
//    this.showLength();
}


Label.prototype.setHtml = function(value) {
	$(this._html).html(value);
}

/**
 * 超长提示
 */
Label.prototype.showLength = function() {
    var labelWidth = $(this.getHTML()).width();
    if (labelWidth == 0) return;
    var value = this.getValue();
    var textWidth = value.visualLength($(this.getHTML()).css("font-size"));
    //有一点点误差, 减去10个宽度
    if (textWidth-10 > labelWidth) {
        var that = this;
        $(this.getHTML()).bind("mouseover", function() {
            WinUtil.showTip(that.getHTML(), {title:value,
                placement:"bottom"});
        });
        $(this.getHTML()).bind("mouseout", function() {
            WinUtil.closeTip(that.getHTML());
        });
    }
}